* {
    margin: 0;
    padding: 0;

}

body {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.container{
    width:200px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: center;
}
.container .progress{
    display: flex;
    justify-content: space-between;
    align-items: center;
    
}

.container .progress .circle{
    border: 1px solid #ccc;
    border-radius: 50%;
    position: relative;
    transition: border 1s ease;
    /* margin-left: 30px; */
}
.container .progress .circle::before{
    content: '';
    position: absolute;
    top: 10px;
    left: -52px;
    /* display: block; */
    width: 0px;
    /* height: 5px; */
    border: 0.5px solid #ccc;
    transition: width 1s ease;
    /* background-color: #ccc; */
}

.circle:nth-child(1)::before{
    display: none;
}

.container .progress .active{
    border-color: blue;
}
.container .progress .active::before{
    width: 50px;
    border-color: blue;
}